#include<stdio.h>
#include<stdlib.h>
using namespace std;
void swap(int &a,int &b){
    int temp=a;
    a=b;
    b=temp;
}
void sorta(int a[],int m,int n){//快速排序
    int l=m,r=n-1;
    while(l<r){
        while(a[r]<0&&l<r) r--;
        while(a[l]>0&&l<r) l++;
        swap(a[l],a[r]);
    }
}
void sorti(int a[],int n){
    int temp,i,j;
    for(i=0;i<n;i++){
        if(a[i]>0){
            temp=a[i];
            j=i-1;
            while(j>=0&&a[j]<=0){
                a[j+1]=a[j];
                j--;
            }
            a[j+1]=temp;
        }
    }
}
void sortc(int a[],int n){
    int i=0,j=n-1;
    while(i<j){
        if(a[i]>0)
            i++;
        if(a[j]<=0)
            j--;
        if(i<j)
            swap(a[i],a[j]);
    }
}

void output(int a[],int n){
    for(int i=0;i<n;i++)
        printf("%d ",a[i]);
    printf("\n");
}
int main(){
    int a[4]={1,-1,0,2};
    sorta(a,0,4);
    output(a,4);

    sorti(a,4);
    output(a,4);
    sortc(a,4);
    output(a,4);
    return 0;
}